1. Field
Embodiments relate to a method, system, and program for managing migration of data to another system of organization, such as a RAID system.
2. Description of Related Art
Various techniques have been proposed for organizing data stored in data storage devices such as disk drives. One such data storage organization is referred to as Redundant Array of Independent (or Inexpensive) Disks or (RAID). In a RAID organization, two or more disk drives are employed in combination to improve fault tolerance or performance, or both. There are different types of RAID data storage organizations and these different types are often referred to as RAID “levels 0, 1, 2 . . . . In a RAID level 0 data organization, for example, the data of a user file is “striped”, that is, blocks of user data are spread across multiple disks to improve performance. However, there is generally no redundancy provided for recovery of data should one of the drives fail in a RAID level 0 organization of data. A RAID level 3 organization of data is similar to RAID level 0 but one disk is typically reserved to store error correction data, often referred to as “parity data.” This parity data may be used to reconstruct lost user data should one of the drives fail. In a RAID level 5 data organization, parity data is provided for each stripe of data across the array of disk drives and no particular disk drive is dedicated to storing the parity data. Instead, blocks of parity data for the stripes of user data are distributed throughout all the disks of the array, to further improve performance.
As RAID type data organizations becomes increasingly popular, there is an increasing need for efficient data migration processes for transferring data from a standard or non-RAID data storage organization to a RAID type organization. FIG. 1 shows a schematic diagram of user data stored on a disk drive 10 being migrated to a pair of RAID level 0 organized disk drives 12a, 12b. In the example of FIG. 1 user data is stored in the non-RAID disk 10 starting at LBA (Logical Block Addressing) location 0 to LBA n. Logical block addressing translates the cylinder, head and sector specifications of the drives 10, 12a, 12b into addresses that can be used by many operating systems.
In the migration process, a unit of user data from the non-RAID disk 10 is copied and spread across both of the destination RAID level 0 disks 12a, 12b in a stripe of data. Typically, the user is allowed access to the data except to the particular unit of data being migrated. In many migration processes, data is copied from the source disk or disks to the RAID array of disks in sequential order, starting at the lowest address, here LBA 0 in this example, and then data is copied at sequentially higher addresses. As the migration proceeds, migration progress indicators or “checkpoints” are typically written to a configuration area 14a, 14b of each RAID disk 12a, 12b. The configuration areas 14a, 14b contain what is often called RAID “metadata” which is configuration and management information typically maintained by the RAID subsystem which organizes the data. The metadata is usually hidden from access by the host by the RAID organization software of the RAID subsystem.
Each checkpoint written to the configuration areas 14a, 14b typically contains an address or other pointer which identifies the highest address of user data which has been successfully migrated. Should there be a disruption such as a loss of power during the migration process, the entire migration process does not need to restart from the beginning, that is, LBA 0, in this example. Instead, the migration process may be resumed at the same or next address indicated by the last checkpoint written to the configuration areas 14a, 14b. Once all of the user data has been successfully copied from the non-RAID source disk 10, half of the user data will be written to RAID disk 12a and half to RAID disk 12b of the array of RAID disks 12a, 12b as shown in the example of FIG. 1.
Notwithstanding, there is a continued need in the art to improve the performance of data migration.